<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Navo Portable Library: navo/algorithm/crypto/symmetric/twofish.c文件参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- 制作者 Doxygen 1.7.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
--></script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Navo Portable Library&#160;<span id="projectnumber">Ver 1.0.20120827</span></div>
   <div id="projectbrief">Provides generic platform independent facilities.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>首页</span></a></li>
      <li><a href="modules.html"><span>模块</span></a></li>
      <li><a href="annotated.html"><span>数据结构</span></a></li>
      <li class="current"><a href="files.html"><span>文件</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="搜索" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>文件列表</span></a></li>
      <li><a href="globals.html"><span>全局定义</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#define-members">宏定义</a> &#124;
<a href="#func-members">函数</a> &#124;
<a href="#var-members">变量</a>  </div>
  <div class="headertitle">
<h1>navo/algorithm/crypto/symmetric/twofish.c文件参考</h1>  </div>
</div>
<div class="contents">

<p>Twofish.  
<a href="#_details">更多...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="twofish_8h_source.html">twofish.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="endian_8h_source.html">../../../port/endian.h</a>&quot;</code><br/>
</div>
<p><a href="twofish_8c_source.html">浏览该文件的源代码。</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
宏定义</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>CALC_S</b>(a, b, c, d, i, w, x, y, z)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>CALC_SB_2</b>(i, a, b)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>CALC_SB192_2</b>(i, a, b)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>CALC_SB256_2</b>(i, a, b)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>CALC_K_2</b>(a, b, c, d, j)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>CALC_K</b>(a, j, k, l, m, n)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>CALC_K192_2</b>(a, b, c, d, j)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>CALC_K192</b>(a, j, k, l, m, n)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>CALC_K256_2</b>(a, b, j)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>CALC_K256</b>(a, j, k, l, m, n)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>G1</b>(a, s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>G2</b>(a, s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>ENC_ROUND</b>(n, a, b, c, d, x, y, k, s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>DEC_ROUND</b>(n, a, b, c, d, x, y, k, s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>ENC_CYCLE</b>(n, a, b, c, d, x, y, k, s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>DEC_CYCLE</b>(n, a, b, c, d, x, y, k, s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f90f4e46f539fbec61e7c2fc57174c1"></a><!-- doxytag: member="twofish.c::IN_PACK" ref="a1f90f4e46f539fbec61e7c2fc57174c1" args="(n, x, w, in, i)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>IN_PACK</b>(n, x, w, in, i)&#160;&#160;&#160;(x) = __le32_to_cpu((in)[(n)]) ^ (w)[(i)]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ac82e44da71e759e94fc2ca6c3b9fbb"></a><!-- doxytag: member="twofish.c::OUT_PACK" ref="a3ac82e44da71e759e94fc2ca6c3b9fbb" args="(n, x, w, dst, i)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OUT_PACK</b>(n, x, w, dst, i)&#160;&#160;&#160;(x) ^= (w)[(i)];(dst)[(n)] = __cpu_to_le32(x)</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
函数</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6c957066e39bd01f7e091b70bac7e507"></a><!-- doxytag: member="twofish.c::__twofish_set_key" ref="ga6c957066e39bd01f7e091b70bac7e507" args="(twofish_key *key, uint8_t *src_key, size_t cnt)" -->
NV_IMPL int&#160;</td><td class="memItemRight" valign="bottom"><b>__twofish_set_key</b> (<a class="el" href="structtwofish__key.html">twofish_key</a> *key, <a class="el" href="group___xE6_x95_xB4_xE5_x9E_x8B_xE5_xAE_x9A_xE4_xB9_x89.html#gae1affc9ca37cfb624959c866a73f83c2">uint8_t</a> *src_key, size_t cnt)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0b55c24130490d2032666bd88fc381be"></a><!-- doxytag: member="twofish.c::__twofish_encrypt" ref="ga0b55c24130490d2032666bd88fc381be" args="(uint32_t *esk, uint32_t *lsk, uint32_t(*S)[256], uint32_t *dst, uint32_t *src)" -->
NV_IMPL void&#160;</td><td class="memItemRight" valign="bottom"><b>__twofish_encrypt</b> (uint32_t *esk, uint32_t *lsk, uint32_t(*S)[256], uint32_t *dst, uint32_t *src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga315f09b4a99a71a9993175fb2befc31a"></a><!-- doxytag: member="twofish.c::__twofish_decrypt" ref="ga315f09b4a99a71a9993175fb2befc31a" args="(uint32_t *esk, uint32_t *lsk, uint32_t(*S)[256], uint32_t *dst, uint32_t *src)" -->
NV_IMPL void&#160;</td><td class="memItemRight" valign="bottom"><b>__twofish_decrypt</b> (uint32_t *esk, uint32_t *lsk, uint32_t(*S)[256], uint32_t *dst, uint32_t *src)</td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
变量</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="group___xE6_x95_xB4_xE5_x9E_x8B_xE5_xAE_x9A_xE4_xB9_x89.html#gae1affc9ca37cfb624959c866a73f83c2">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Q0</b> [256]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="group___xE6_x95_xB4_xE5_x9E_x8B_xE5_xAE_x9A_xE4_xB9_x89.html#gae1affc9ca37cfb624959c866a73f83c2">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Q1</b> [256]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a64376e8ad22e28c1a14b9f7006626485"></a><!-- doxytag: member="twofish.c::MDS" ref="a64376e8ad22e28c1a14b9f7006626485" args="[4][256]" -->
static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>MDS</b> [4][256]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="group___xE6_x95_xB4_xE5_x9E_x8B_xE5_xAE_x9A_xE4_xB9_x89.html#gae1affc9ca37cfb624959c866a73f83c2">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>POLY_TO_EXP</b> [255]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab600a6f89fbbe559ab358d71d78f6888"></a><!-- doxytag: member="twofish.c::EXP_TO_POLY" ref="ab600a6f89fbbe559ab358d71d78f6888" args="[492]" -->
static const <a class="el" href="group___xE6_x95_xB4_xE5_x9E_x8B_xE5_xAE_x9A_xE4_xB9_x89.html#gae1affc9ca37cfb624959c866a73f83c2">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>EXP_TO_POLY</b> [492]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6194e9eeb428f7e4cf1b2c696559618a"></a><!-- doxytag: member="twofish.c::CALC_SB_TBL" ref="a6194e9eeb428f7e4cf1b2c696559618a" args="[512]" -->
static const <a class="el" href="group___xE6_x95_xB4_xE5_x9E_x8B_xE5_xAE_x9A_xE4_xB9_x89.html#gae1affc9ca37cfb624959c866a73f83c2">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CALC_SB_TBL</b> [512]</td></tr>
</table>
<hr/><a name="_details"></a><h2>详细描述</h2>
<div class="textblock"><p>Twofish. </p>
<p>Copyright (C) 2012-2022, Henry Kwok 郭弘扬. All rights reserved </p>

<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>中定义。</p>
</div><hr/><h2>宏定义文档</h2>
<a class="anchor" id="a8439fabb9ffa1a5aa17e17ae79aaab4b"></a><!-- doxytag: member="twofish.c::CALC_S" ref="a8439fabb9ffa1a5aa17e17ae79aaab4b" args="(a, b, c, d, i, w, x, y, z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CALC_S</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">w, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">z&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> (src_key[i]) {                       \
        tmp = POLY_TO_EXP[src_key[i] - 1];  \
        (a) ^= EXP_TO_POLY[tmp + (w)];      \
        (b) ^= EXP_TO_POLY[tmp + (x)];      \
        (c) ^= EXP_TO_POLY[tmp + (y)];      \
        (d) ^= EXP_TO_POLY[tmp + (z)];      \
    }
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00387">387</a>行定义。</p>

</div>
</div>
<a class="anchor" id="acd680b624c9e24336e9608b967262c3a"></a><!-- doxytag: member="twofish.c::CALC_SB_2" ref="acd680b624c9e24336e9608b967262c3a" args="(i, a, b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CALC_SB_2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">S[0][i] = MDS[0][Q0[(a) ^ sa] ^ se]; \
   S[1][i] = MDS[1][Q0[(b) ^ sb] ^ sf]; \
   S[2][i] = MDS[2][Q1[(a) ^ sc] ^ sg]; \
   S[3][i] = MDS[3][Q1[(b) ^ sd] ^ sh]
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00396">396</a>行定义。</p>

</div>
</div>
<a class="anchor" id="ab29401e06616a09f2d048935f4f07d84"></a><!-- doxytag: member="twofish.c::CALC_SB192_2" ref="ab29401e06616a09f2d048935f4f07d84" args="(i, a, b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CALC_SB192_2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">S[0][i] = MDS[0][Q0[Q0[(b) ^ sa] ^ se] ^ si]; \
   S[1][i] = MDS[1][Q0[Q1[(b) ^ sb] ^ sf] ^ sj]; \
   S[2][i] = MDS[2][Q1[Q0[(a) ^ sc] ^ sg] ^ sk]; \
   S[3][i] = MDS[3][Q1[Q1[(a) ^ sd] ^ sh] ^ sl];
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00402">402</a>行定义。</p>

</div>
</div>
<a class="anchor" id="ae06b16211a5d7740c0b6a5988f904cc8"></a><!-- doxytag: member="twofish.c::CALC_SB256_2" ref="ae06b16211a5d7740c0b6a5988f904cc8" args="(i, a, b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CALC_SB256_2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">S[0][i] = MDS[0][Q0[Q0[Q1[(b) ^ sa] ^ se] ^ si] ^ sm]; \
   S[1][i] = MDS[1][Q0[Q1[Q1[(a) ^ sb] ^ sf] ^ sj] ^ sn]; \
   S[2][i] = MDS[2][Q1[Q0[Q0[(a) ^ sc] ^ sg] ^ sk] ^ so]; \
   S[3][i] = MDS[3][Q1[Q1[Q0[(b) ^ sd] ^ sh] ^ sl] ^ sp];
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00408">408</a>行定义。</p>

</div>
</div>
<a class="anchor" id="afc41493ff1b2d5f18d1b44731f44b58c"></a><!-- doxytag: member="twofish.c::CALC_K_2" ref="afc41493ff1b2d5f18d1b44731f44b58c" args="(a, b, c, d, j)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CALC_K_2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">j&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">MDS[0][Q0[a ^ src_key[(j) + 8]] ^ src_key[j]] ^         \
    MDS[1][Q0[b ^ src_key[(j) + 9]] ^ src_key[(j) + 1]] ^   \
    MDS[2][Q1[c ^ src_key[(j) + 10]] ^ src_key[(j) + 2]] ^  \
    MDS[3][Q1[d ^ src_key[(j) + 11]] ^ src_key[(j) + 3]]
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00414">414</a>行定义。</p>

</div>
</div>
<a class="anchor" id="ae58f426f79b636ded23a6aa6c6ead7b4"></a><!-- doxytag: member="twofish.c::CALC_K" ref="ae58f426f79b636ded23a6aa6c6ead7b4" args="(a, j, k, l, m, n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CALC_K</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">j, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">k, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">l, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">m, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">x = CALC_K_2 (k, l, k, l, 0);   \
    y = CALC_K_2 (m, n, m, n, 4);   \
    y = <a class="code" href="group___xE4_xBA_xA4_xE6_x8D_xA2_xE5_xAD_x97_xE5_xBA_x8F.html#ga5c40024969f5f66c871e34d8150685d2" title="左旋转32位整数b位">__rol32</a>(y, 8);              \
    x += y; y += x; a[j] = x;       \
    a[(j) + 1] = <a class="code" href="group___xE4_xBA_xA4_xE6_x8D_xA2_xE5_xAD_x97_xE5_xBA_x8F.html#ga5c40024969f5f66c871e34d8150685d2" title="左旋转32位整数b位">__rol32</a>(y, 9)
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00420">420</a>行定义。</p>

</div>
</div>
<a class="anchor" id="a33aef70d9f1ef16e8f239f6adf47b6a6"></a><!-- doxytag: member="twofish.c::CALC_K192_2" ref="a33aef70d9f1ef16e8f239f6adf47b6a6" args="(a, b, c, d, j)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CALC_K192_2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">j&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">CALC_K_2 (                                                  \
        Q0[a ^ src_key[(j) + 16]], Q1[b ^ src_key[(j) + 17]],   \
        Q0[c ^ src_key[(j) + 18]], Q1[d ^ src_key[(j) + 19]], j)
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00427">427</a>行定义。</p>

</div>
</div>
<a class="anchor" id="af4c1fece3de0ae2b0c2eee06b2b0d67a"></a><!-- doxytag: member="twofish.c::CALC_K192" ref="af4c1fece3de0ae2b0c2eee06b2b0d67a" args="(a, j, k, l, m, n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CALC_K192</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">j, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">k, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">l, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">m, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">x = CALC_K192_2 (l, l, k, k, 0);    \
    y = CALC_K192_2 (n, n, m, m, 4);    \
    y = <a class="code" href="group___xE4_xBA_xA4_xE6_x8D_xA2_xE5_xAD_x97_xE5_xBA_x8F.html#ga5c40024969f5f66c871e34d8150685d2" title="左旋转32位整数b位">__rol32</a>(y, 8);                  \
    x += y; y += x; a[j] = x;           \
    a[(j) + 1] = <a class="code" href="group___xE4_xBA_xA4_xE6_x8D_xA2_xE5_xAD_x97_xE5_xBA_x8F.html#ga5c40024969f5f66c871e34d8150685d2" title="左旋转32位整数b位">__rol32</a>(y, 9)
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00432">432</a>行定义。</p>

</div>
</div>
<a class="anchor" id="a84ffcf7d66e0b52b79790e3af4636fe6"></a><!-- doxytag: member="twofish.c::CALC_K256_2" ref="a84ffcf7d66e0b52b79790e3af4636fe6" args="(a, b, j)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CALC_K256_2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">j&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">CALC_K192_2 (                                               \
        Q1[b ^ src_key[(j) + 24]], Q1[a ^ src_key[(j) + 25]],   \
        Q0[a ^ src_key[(j) + 26]], Q0[b ^ src_key[(j) + 27]], j)
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00439">439</a>行定义。</p>

</div>
</div>
<a class="anchor" id="a3e5982ec95cef59b942c7acb8ff12c78"></a><!-- doxytag: member="twofish.c::CALC_K256" ref="a3e5982ec95cef59b942c7acb8ff12c78" args="(a, j, k, l, m, n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CALC_K256</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">j, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">k, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">l, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">m, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">x = CALC_K256_2 (k, l, 0);      \
    y = CALC_K256_2 (m, n, 4);      \
    y = <a class="code" href="group___xE4_xBA_xA4_xE6_x8D_xA2_xE5_xAD_x97_xE5_xBA_x8F.html#ga5c40024969f5f66c871e34d8150685d2" title="左旋转32位整数b位">__rol32</a>(y, 8);              \
    x += y; y += x; a[j] = x;       \
    a[(j) + 1] = <a class="code" href="group___xE4_xBA_xA4_xE6_x8D_xA2_xE5_xAD_x97_xE5_xBA_x8F.html#ga5c40024969f5f66c871e34d8150685d2" title="左旋转32位整数b位">__rol32</a>(y, 9)
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00444">444</a>行定义。</p>

</div>
</div>
<a class="anchor" id="a11af974163531710184856ef2175cd02"></a><!-- doxytag: member="twofish.c::G1" ref="a11af974163531710184856ef2175cd02" args="(a, s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define G1</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">s&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">((s)[0][(a) &amp; 0xFF]) ^ ((s)[1][((a) &gt;&gt; 8) &amp; 0xFF]) ^\
    ((s)[2][((a) &gt;&gt; 16) &amp; 0xFF]) ^ ((s)[3][((a) &gt;&gt; 24)])
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00451">451</a>行定义。</p>

</div>
</div>
<a class="anchor" id="a3ebc236f0f0ac4d7255945aa6138cfcc"></a><!-- doxytag: member="twofish.c::G2" ref="a3ebc236f0f0ac4d7255945aa6138cfcc" args="(a, s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define G2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">s&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">((s)[1][(a) &amp; 0xFF]) ^ ((s)[2][((a) &gt;&gt; 8) &amp; 0xFF]) ^\
    ((s)[3][((a) &gt;&gt; 16) &amp; 0xFF]) ^ ((s)[0][((a) &gt;&gt; 24)])
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00455">455</a>行定义。</p>

</div>
</div>
<a class="anchor" id="ae801a9a5cb01fb7ba461e1df3a8a9943"></a><!-- doxytag: member="twofish.c::ENC_ROUND" ref="ae801a9a5cb01fb7ba461e1df3a8a9943" args="(n, a, b, c, d, x, y, k, s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ENC_ROUND</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">k, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">s&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">(x) = G1(a,s);(y) = G2(b,s);(x) += (y);     \
    (y) += ((x) + (k)[((n) &lt;&lt; 1) + 1]);     \
    (c) ^= ((x) + (k)[(n) &lt;&lt; 1]);               \
    (c) = <a class="code" href="group___xE4_xBA_xA4_xE6_x8D_xA2_xE5_xAD_x97_xE5_xBA_x8F.html#gaa5c40c056c3a176e3fe842399a04dc0a" title="右旋转32位整数b位">__ror32</a>((c), 1);                      \
    (d) = (<a class="code" href="group___xE4_xBA_xA4_xE6_x8D_xA2_xE5_xAD_x97_xE5_xBA_x8F.html#ga5c40024969f5f66c871e34d8150685d2" title="左旋转32位整数b位">__rol32</a>((d), 1) ^ (y))
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00460">460</a>行定义。</p>

</div>
</div>
<a class="anchor" id="ab9dd674df710523106e3d80df3c88c78"></a><!-- doxytag: member="twofish.c::DEC_ROUND" ref="ab9dd674df710523106e3d80df3c88c78" args="(n, a, b, c, d, x, y, k, s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DEC_ROUND</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">k, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">s&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">(x) = G1(a,s);(y) = G2(b,s);(x) += (y);             \
    (y) += (x);(d) ^= ((y) + (k)[((n) &lt;&lt; 1) + 1]);      \
    (d) = <a class="code" href="group___xE4_xBA_xA4_xE6_x8D_xA2_xE5_xAD_x97_xE5_xBA_x8F.html#gaa5c40c056c3a176e3fe842399a04dc0a" title="右旋转32位整数b位">__ror32</a>((d), 1);(c) = <a class="code" href="group___xE4_xBA_xA4_xE6_x8D_xA2_xE5_xAD_x97_xE5_xBA_x8F.html#ga5c40024969f5f66c871e34d8150685d2" title="左旋转32位整数b位">__rol32</a>((c), 1);        \
    (c) ^= ((x) + (k)[(n) &lt;&lt; 1])
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00468">468</a>行定义。</p>

</div>
</div>
<a class="anchor" id="a45b3d46223fbaa9f618ecaa1932a89a0"></a><!-- doxytag: member="twofish.c::ENC_CYCLE" ref="a45b3d46223fbaa9f618ecaa1932a89a0" args="(n, a, b, c, d, x, y, k, s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ENC_CYCLE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">k, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">s&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">ENC_ROUND(((n) &lt;&lt; 1), a, b, c, d, x, y, k, s);      \
    ENC_ROUND(((n) &lt;&lt; 1) + 1, c, d, a, b, x, y, k, s)
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00475">475</a>行定义。</p>

</div>
</div>
<a class="anchor" id="ac5dbb967e3c0318bd17ed02d5c852355"></a><!-- doxytag: member="twofish.c::DEC_CYCLE" ref="ac5dbb967e3c0318bd17ed02d5c852355" args="(n, a, b, c, d, x, y, k, s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DEC_CYCLE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">k, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">s&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>值:</b><div class="fragment"><pre class="fragment">DEC_ROUND(((n) &lt;&lt; 1) + 1, c, d, a, b, x, y, k, s);  \
    DEC_ROUND(((n) &lt;&lt; 1), a, b, c, d, x, y, k, s)
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00480">480</a>行定义。</p>

</div>
</div>
<hr/><h2>变量文档</h2>
<a class="anchor" id="a1ccfdec27e51a4405e83497a4872ac91"></a><!-- doxytag: member="twofish.c::Q0" ref="a1ccfdec27e51a4405e83497a4872ac91" args="[256]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group___xE6_x95_xB4_xE5_x9E_x8B_xE5_xAE_x9A_xE4_xB9_x89.html#gae1affc9ca37cfb624959c866a73f83c2">uint8_t</a> Q0[256]<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>初始化序列：</b><div class="fragment"><pre class="fragment"> {
    0xA9, 0x67, 0xB3, 0xE8, 0x04, 0xFD, 0xA3, 0x76, 0x9A, 0x92, 0x80, 0x78,
    0xE4, 0xDD, 0xD1, 0x38, 0x0D, 0xC6, 0x35, 0x98, 0x18, 0xF7, 0xEC, 0x6C,
    0x43, 0x75, 0x37, 0x26, 0xFA, 0x13, 0x94, 0x48, 0xF2, 0xD0, 0x8B, 0x30,
    0x84, 0x54, 0xDF, 0x23, 0x19, 0x5B, 0x3D, 0x59, 0xF3, 0xAE, 0xA2, 0x82,
    0x63, 0x01, 0x83, 0x2E, 0xD9, 0x51, 0x9B, 0x7C, 0xA6, 0xEB, 0xA5, 0xBE,
    0x16, 0x0C, 0xE3, 0x61, 0xC0, 0x8C, 0x3A, 0xF5, 0x73, 0x2C, 0x25, 0x0B,
    0xBB, 0x4E, 0x89, 0x6B, 0x53, 0x6A, 0xB4, 0xF1, 0xE1, 0xE6, 0xBD, 0x45,
    0xE2, 0xF4, 0xB6, 0x66, 0xCC, 0x95, 0x03, 0x56, 0xD4, 0x1C, 0x1E, 0xD7,
    0xFB, 0xC3, 0x8E, 0xB5, 0xE9, 0xCF, 0xBF, 0xBA, 0xEA, 0x77, 0x39, 0xAF,
    0x33, 0xC9, 0x62, 0x71, 0x81, 0x79, 0x09, 0xAD, 0x24, 0xCD, 0xF9, 0xD8,
    0xE5, 0xC5, 0xB9, 0x4D, 0x44, 0x08, 0x86, 0xE7, 0xA1, 0x1D, 0xAA, 0xED,
    0x06, 0x70, 0xB2, 0xD2, 0x41, 0x7B, 0xA0, 0x11, 0x31, 0xC2, 0x27, 0x90,
    0x20, 0xF6, 0x60, 0xFF, 0x96, 0x5C, 0xB1, 0xAB, 0x9E, 0x9C, 0x52, 0x1B,
    0x5F, 0x93, 0x0A, 0xEF, 0x91, 0x85, 0x49, 0xEE, 0x2D, 0x4F, 0x8F, 0x3B,
    0x47, 0x87, 0x6D, 0x46, 0xD6, 0x3E, 0x69, 0x64, 0x2A, 0xCE, 0xCB, 0x2F,
    0xFC, 0x97, 0x05, 0x7A, 0xAC, 0x7F, 0xD5, 0x1A, 0x4B, 0x0E, 0xA7, 0x5A,
    0x28, 0x14, 0x3F, 0x29, 0x88, 0x3C, 0x4C, 0x02, 0xB8, 0xDA, 0xB0, 0x17,
    0x55, 0x1F, 0x8A, 0x7D, 0x57, 0xC7, 0x8D, 0x74, 0xB7, 0xC4, 0x9F, 0x72,
    0x7E, 0x15, 0x22, 0x12, 0x58, 0x07, 0x99, 0x34, 0x6E, 0x50, 0xDE, 0x68,
    0x65, 0xBC, 0xDB, 0xF8, 0xC8, 0xA8, 0x2B, 0x40, 0xDC, 0xFE, 0x32, 0xA4,
    0xCA, 0x10, 0x21, 0xF0, 0xD3, 0x5D, 0x0F, 0x00, 0x6F, 0x9D, 0x36, 0x42,
    0x4A, 0x5E, 0xC1, 0xE0
}
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00022">22</a>行定义。</p>

</div>
</div>
<a class="anchor" id="afd905e57261be655a85c5491c7054b34"></a><!-- doxytag: member="twofish.c::Q1" ref="afd905e57261be655a85c5491c7054b34" args="[256]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group___xE6_x95_xB4_xE5_x9E_x8B_xE5_xAE_x9A_xE4_xB9_x89.html#gae1affc9ca37cfb624959c866a73f83c2">uint8_t</a> Q1[256]<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>初始化序列：</b><div class="fragment"><pre class="fragment"> {
    0x75, 0xF3, 0xC6, 0xF4, 0xDB, 0x7B, 0xFB, 0xC8, 0x4A, 0xD3, 0xE6, 0x6B,
    0x45, 0x7D, 0xE8, 0x4B, 0xD6, 0x32, 0xD8, 0xFD, 0x37, 0x71, 0xF1, 0xE1,
    0x30, 0x0F, 0xF8, 0x1B, 0x87, 0xFA, 0x06, 0x3F, 0x5E, 0xBA, 0xAE, 0x5B,
    0x8A, 0x00, 0xBC, 0x9D, 0x6D, 0xC1, 0xB1, 0x0E, 0x80, 0x5D, 0xD2, 0xD5,
    0xA0, 0x84, 0x07, 0x14, 0xB5, 0x90, 0x2C, 0xA3, 0xB2, 0x73, 0x4C, 0x54,
    0x92, 0x74, 0x36, 0x51, 0x38, 0xB0, 0xBD, 0x5A, 0xFC, 0x60, 0x62, 0x96,
    0x6C, 0x42, 0xF7, 0x10, 0x7C, 0x28, 0x27, 0x8C, 0x13, 0x95, 0x9C, 0xC7,
    0x24, 0x46, 0x3B, 0x70, 0xCA, 0xE3, 0x85, 0xCB, 0x11, 0xD0, 0x93, 0xB8,
    0xA6, 0x83, 0x20, 0xFF, 0x9F, 0x77, 0xC3, 0xCC, 0x03, 0x6F, 0x08, 0xBF,
    0x40, 0xE7, 0x2B, 0xE2, 0x79, 0x0C, 0xAA, 0x82, 0x41, 0x3A, 0xEA, 0xB9,
    0xE4, 0x9A, 0xA4, 0x97, 0x7E, 0xDA, 0x7A, 0x17, 0x66, 0x94, 0xA1, 0x1D,
    0x3D, 0xF0, 0xDE, 0xB3, 0x0B, 0x72, 0xA7, 0x1C, 0xEF, 0xD1, 0x53, 0x3E,
    0x8F, 0x33, 0x26, 0x5F, 0xEC, 0x76, 0x2A, 0x49, 0x81, 0x88, 0xEE, 0x21,
    0xC4, 0x1A, 0xEB, 0xD9, 0xC5, 0x39, 0x99, 0xCD, 0xAD, 0x31, 0x8B, 0x01,
    0x18, 0x23, 0xDD, 0x1F, 0x4E, 0x2D, 0xF9, 0x48, 0x4F, 0xF2, 0x65, 0x8E,
    0x78, 0x5C, 0x58, 0x19, 0x8D, 0xE5, 0x98, 0x57, 0x67, 0x7F, 0x05, 0x64,
    0xAF, 0x63, 0xB6, 0xFE, 0xF5, 0xB7, 0x3C, 0xA5, 0xCE, 0xE9, 0x68, 0x44,
    0xE0, 0x4D, 0x43, 0x69, 0x29, 0x2E, 0xAC, 0x15, 0x59, 0xA8, 0x0A, 0x9E,
    0x6E, 0x47, 0xDF, 0x34, 0x35, 0x6A, 0xCF, 0xDC, 0x22, 0xC9, 0xC0, 0x9B,
    0x89, 0xD4, 0xED, 0xAB, 0x12, 0xA2, 0x0D, 0x52, 0xBB, 0x02, 0x2F, 0xA9,
    0xD7, 0x61, 0x1E, 0xB4, 0x50, 0x04, 0xF6, 0xC2, 0x16, 0x25, 0x86, 0x56,
    0x55, 0x09, 0xBE, 0x91
}
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00047">47</a>行定义。</p>

</div>
</div>
<a class="anchor" id="a742dd4dc9e6c0d42b90b4aea4905aadf"></a><!-- doxytag: member="twofish.c::POLY_TO_EXP" ref="a742dd4dc9e6c0d42b90b4aea4905aadf" args="[255]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group___xE6_x95_xB4_xE5_x9E_x8B_xE5_xAE_x9A_xE4_xB9_x89.html#gae1affc9ca37cfb624959c866a73f83c2">uint8_t</a> POLY_TO_EXP[255]<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>初始化序列：</b><div class="fragment"><pre class="fragment"> {
    0x00, 0x01, 0x17, 0x02, 0x2E, 0x18, 0x53, 0x03, 0x6A, 0x2F, 0x93, 0x19,
    0x34, 0x54, 0x45, 0x04, 0x5C, 0x6B, 0xB6, 0x30, 0xA6, 0x94, 0x4B, 0x1A,
    0x8C, 0x35, 0x81, 0x55, 0xAA, 0x46, 0x0D, 0x05, 0x24, 0x5D, 0x87, 0x6C,
    0x9B, 0xB7, 0xC1, 0x31, 0x2B, 0xA7, 0xA3, 0x95, 0x98, 0x4C, 0xCA, 0x1B,
    0xE6, 0x8D, 0x73, 0x36, 0xCD, 0x82, 0x12, 0x56, 0x62, 0xAB, 0xF0, 0x47,
    0x4F, 0x0E, 0xBD, 0x06, 0xD4, 0x25, 0xD2, 0x5E, 0x27, 0x88, 0x66, 0x6D,
    0xD6, 0x9C, 0x79, 0xB8, 0x08, 0xC2, 0xDF, 0x32, 0x68, 0x2C, 0xFD, 0xA8,
    0x8A, 0xA4, 0x5A, 0x96, 0x29, 0x99, 0x22, 0x4D, 0x60, 0xCB, 0xE4, 0x1C,
    0x7B, 0xE7, 0x3B, 0x8E, 0x9E, 0x74, 0xF4, 0x37, 0xD8, 0xCE, 0xF9, 0x83,
    0x6F, 0x13, 0xB2, 0x57, 0xE1, 0x63, 0xDC, 0xAC, 0xC4, 0xF1, 0xAF, 0x48,
    0x0A, 0x50, 0x42, 0x0F, 0xBA, 0xBE, 0xC7, 0x07, 0xDE, 0xD5, 0x78, 0x26,
    0x65, 0xD3, 0xD1, 0x5F, 0xE3, 0x28, 0x21, 0x89, 0x59, 0x67, 0xFC, 0x6E,
    0xB1, 0xD7, 0xF8, 0x9D, 0xF3, 0x7A, 0x3A, 0xB9, 0xC6, 0x09, 0x41, 0xC3,
    0xAE, 0xE0, 0xDB, 0x33, 0x44, 0x69, 0x92, 0x2D, 0x52, 0xFE, 0x16, 0xA9,
    0x0C, 0x8B, 0x80, 0xA5, 0x4A, 0x5B, 0xB5, 0x97, 0xC9, 0x2A, 0xA2, 0x9A,
    0xC0, 0x23, 0x86, 0x4E, 0xBC, 0x61, 0xEF, 0xCC, 0x11, 0xE5, 0x72, 0x1D,
    0x3D, 0x7C, 0xEB, 0xE8, 0xE9, 0x3C, 0xEA, 0x8F, 0x7D, 0x9F, 0xEC, 0x75,
    0x1E, 0xF5, 0x3E, 0x38, 0xF6, 0xD9, 0x3F, 0xCF, 0x76, 0xFA, 0x1F, 0x84,
    0xA0, 0x70, 0xED, 0x14, 0x90, 0xB3, 0x7E, 0x58, 0xFB, 0xE2, 0x20, 0x64,
    0xD0, 0xDD, 0x77, 0xAD, 0xDA, 0xC5, 0x40, 0xF2, 0x39, 0xB0, 0xF7, 0x49,
    0xB4, 0x0B, 0x7F, 0x51, 0x15, 0x43, 0x91, 0x10, 0x71, 0xBB, 0xEE, 0xBF,
    0x85, 0xC8, 0xA1
}
</pre></div>
<p>在文件<a class="el" href="twofish_8c_source.html">twofish.c</a>第<a class="el" href="twofish_8c_source.html#l00251">251</a>行定义。</p>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>全部</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>数据结构</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>文件</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>函数</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>变量</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>类型定义</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>宏定义</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address class="footer"><small>Generated at 2015年七月16日 星期四 12:00:38 for Navo Portable Library by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>
